package com.ruoyi.supplier.mapper;

import java.util.List;
import com.ruoyi.supplier.domain.TbAddress;

/**
 * 收货地址Mapper接口
 * 
 * @author ruoyi
 * @date 2021-02-18
 */
public interface TbAddressMapper 
{
    /**
     * 查询收货地址
     * 
     * @param id 收货地址ID
     * @return 收货地址
     */
    public TbAddress selectTbAddressById(Long id);

    /**
     * 查询收货地址列表
     * 
     * @param tbAddress 收货地址
     * @return 收货地址集合
     */
    public List<TbAddress> selectTbAddressList(TbAddress tbAddress);

    /**
     * 新增收货地址
     * 
     * @param tbAddress 收货地址
     * @return 结果
     */
    public int insertTbAddress(TbAddress tbAddress);

    /**
     * 修改收货地址
     * 
     * @param tbAddress 收货地址
     * @return 结果
     */
    public int updateTbAddress(TbAddress tbAddress);

    /**
     * 删除收货地址
     * 
     * @param id 收货地址ID
     * @return 结果
     */
    public int deleteTbAddressById(Long id);

    /**
     * 批量删除收货地址
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTbAddressByIds(Long[] ids);

    /**
     * 如果存在默认地址，将该用户下所有默认设置成其他
     * @param tbAddress
     * @return
     */
    int updateTbAddressByDefault(TbAddress tbAddress);

    /**
     * 通过用户名获取默认的收货地址
     * @param username
     * @return
     */
    TbAddress selectTbAddressByUsername(String username);
}
